package com.sailfish.springbootdemo.pojo.db2;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;

/**
 * (TbPcbCapacityParamHistory)实体类
 *
 * @author makejava
 * @since 2023-09-06 09:50:27
 */
public class PcbCapacityParamHistory implements Serializable {
    private static final long serialVersionUID = 703584993229703276L;

    public PcbCapacityParamHistory() {

    }

    public PcbCapacityParamHistory(PcbCapacityParam param) {
        pcbCapacityParamId = param.getPcbCapacityParamId();
        parentId = param.getParentId();
        pcbCapacityParamName = param.getPcbCapacityParamName();
        pcbCapacityParamNameEn = param.getPcbCapacityParamNameEn();
        indexLink = param.getIndexLink();
        pcbCapacityParamKey = param.getPcbCapacityParamKey();
        pcbCapacityParamKey2 = param.getPcbCapacityParamKey2();
        pcbCapacityParamKey3 = param.getPcbCapacityParamKey3();
        pcbCapacityParamKey4 = param.getPcbCapacityParamKey4();
        level = param.getLevel();
        isRequired = param.getIsRequired();
        paramType = param.getParamType();
        paramOptions = param.getParamOptions();
        ruleType = param.getRuleType();
        unit = param.getUnit();
        remark = param.getRemark();
        remarkPic = param.getRemarkPic();
        imageBase64 = param.getImageBase64();
        createUser = param.getCreateUser();
        createTime = param.getCreateTime();
        updateUser = param.getUpdateUser();
        updateTime = param.getUpdateTime();
        status = param.getStatus();
        sort = param.getSort();
        tip = param.getTip();
        List<PcbCapacityParam> children2 = param.getChildren();
        if (children2 != null) {
            List<PcbCapacityParamHistory> capacityParamHistoryList = new ArrayList<>();
            for (int i = 0; i < children2.size(); i++) {
                PcbCapacityParamHistory pcbCapacityParamHistory = new PcbCapacityParamHistory(children2.get(i));
                capacityParamHistoryList.add(pcbCapacityParamHistory);
            }
            children = capacityParamHistoryList;
        }
        factoryDatas = param.getFactoryDatas();
    }

    private Integer id;

    private String version;

    private Integer pcbCapacityParamId;
    /**
     * 上一级id
     */
    private Integer parentId;
    /**
     * 参数名
     */
    private String pcbCapacityParamName;
    /**
     * 参数名英文
     */
    private String pcbCapacityParamNameEn;
    /**
     * 链接关系
     */
    private String indexLink;
    /**
     * 参数key-大批量
     */
    private String pcbCapacityParamKey;
    /**
     * 参数key-小批量
     */
    private String pcbCapacityParamKey2;
    /**
     * 参数key-h3c要求值
     */
    private String pcbCapacityParamKey3;
    private String pcbCapacityParamKey4;
    /**
     * 等级
     */
    private Integer level;
    /**
     * 是否必填 1：必填   2：非必填 【预留字段】
     */
    private Integer isRequired;
    /**
     * 字段类型
     * 1：普通文本
     * 2.下拉选择
     * 3：文件上传
     * 4：浮点型*浮点型
     * 5：浮点型/浮点型
     * 6：公差
     * 10：数值类型[整数]
     * 11：数值类型[小数]
     */
    private Integer paramType;
    /**
     * 下拉选择的选项，逗号分隔，即pcba_device_param_type=2的时候下拉选项
     */
    private String paramOptions;
    /**
     * 1.大于等于
     * 2.小于等于
     * 3.大于
     * 4.小于
     * 5.等于
     * 6.范围
     * 7.浮点型*浮点型
     * 8.浮点型/浮点型
     */
    private Integer ruleType;
    /**
     * 单位
     */
    private String unit;

    private String tip;

    private String remark;

    private String remarkPic;

    private String createUser;

    private Date createTime;

    private String updateUser;

    private Date updateTime;

    private Integer status;

    private Integer sort;

    private List<PcbCapacityParamHistory> children;

    private Map<String, ParamInfo> factoryDatas;

    /**
     * 参数key
     */
    private String pcbCapacityParamValue;
    /**
     * 参数key2
     */
    private String pcbCapacityParamValue2;
    /**
     * 参数key-h3c要求值
     */
    private String pcbCapacityParamValue3;
    private String pcbCapacityParamValue4;
    private String imageBase64;

    public String getImageBase64() {
        return imageBase64;
    }

    public void setImageBase64(String imageBase64) {
        this.imageBase64 = imageBase64;
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getVersion() {
        return version;
    }

    public void setVersion(String version) {
        this.version = version;
    }

    public Integer getPcbCapacityParamId() {
        return pcbCapacityParamId;
    }

    public void setPcbCapacityParamId(Integer pcbCapacityParamId) {
        this.pcbCapacityParamId = pcbCapacityParamId;
    }

    public Integer getParentId() {
        return parentId;
    }

    public void setParentId(Integer parentId) {
        this.parentId = parentId;
    }

    public String getPcbCapacityParamName() {
        return pcbCapacityParamName;
    }

    public void setPcbCapacityParamName(String pcbCapacityParamName) {
        this.pcbCapacityParamName = pcbCapacityParamName;
    }

    public String getPcbCapacityParamNameEn() {
        return pcbCapacityParamNameEn;
    }

    public void setPcbCapacityParamNameEn(String pcbCapacityParamNameEn) {
        this.pcbCapacityParamNameEn = pcbCapacityParamNameEn;
    }

    public String getIndexLink() {
        return indexLink;
    }

    public void setIndexLink(String indexLink) {
        this.indexLink = indexLink;
    }

    public String getPcbCapacityParamKey() {
        return pcbCapacityParamKey;
    }

    public void setPcbCapacityParamKey(String pcbCapacityParamKey) {
        this.pcbCapacityParamKey = pcbCapacityParamKey;
    }

    public String getPcbCapacityParamKey2() {
        return pcbCapacityParamKey2;
    }

    public void setPcbCapacityParamKey2(String pcbCapacityParamKey2) {
        this.pcbCapacityParamKey2 = pcbCapacityParamKey2;
    }

    public String getPcbCapacityParamKey3() {
        return pcbCapacityParamKey3;
    }

    public void setPcbCapacityParamKey3(String pcbCapacityParamKey3) {
        this.pcbCapacityParamKey3 = pcbCapacityParamKey3;
    }

    public String getPcbCapacityParamKey4() {
        return pcbCapacityParamKey4;
    }

    public void setPcbCapacityParamKey4(String pcbCapacityParamKey4) {
        this.pcbCapacityParamKey4 = pcbCapacityParamKey4;
    }

    public Integer getLevel() {
        return level;
    }

    public void setLevel(Integer level) {
        this.level = level;
    }

    public Integer getIsRequired() {
        return isRequired;
    }

    public void setIsRequired(Integer isRequired) {
        this.isRequired = isRequired;
    }

    public Integer getParamType() {
        return paramType;
    }

    public void setParamType(Integer paramType) {
        this.paramType = paramType;
    }

    public String getParamOptions() {
        return paramOptions;
    }

    public void setParamOptions(String paramOptions) {
        this.paramOptions = paramOptions;
    }

    public Integer getRuleType() {
        return ruleType;
    }

    public void setRuleType(Integer ruleType) {
        this.ruleType = ruleType;
    }

    public String getUnit() {
        return unit;
    }

    public void setUnit(String unit) {
        this.unit = unit;
    }

    public String getTip() {
        return tip;
    }

    public void setTip(String tip) {
        this.tip = tip;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public String getRemarkPic() {
        return remarkPic;
    }

    public void setRemarkPic(String remarkPic) {
        this.remarkPic = remarkPic;
    }

    public String getCreateUser() {
        return createUser;
    }

    public void setCreateUser(String createUser) {
        this.createUser = createUser;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public String getUpdateUser() {
        return updateUser;
    }

    public void setUpdateUser(String updateUser) {
        this.updateUser = updateUser;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public Integer getSort() {
        return sort;
    }

    public void setSort(Integer sort) {
        this.sort = sort;
    }

    public List<PcbCapacityParamHistory> getChildren() {
        return children;
    }

    public void setChildren(List<PcbCapacityParamHistory> children) {
        this.children = children;
    }

    public Map<String, ParamInfo> getFactoryDatas() {
        return factoryDatas;
    }

    public void setFactoryDatas(Map<String, ParamInfo> factoryDatas) {
        this.factoryDatas = factoryDatas;
    }

    public String getPcbCapacityParamValue() {
        return pcbCapacityParamValue;
    }

    public void setPcbCapacityParamValue(String pcbCapacityParamValue) {
        this.pcbCapacityParamValue = pcbCapacityParamValue;
    }

    public String getPcbCapacityParamValue2() {
        return pcbCapacityParamValue2;
    }

    public void setPcbCapacityParamValue2(String pcbCapacityParamValue2) {
        this.pcbCapacityParamValue2 = pcbCapacityParamValue2;
    }

    public String getPcbCapacityParamValue3() {
        return pcbCapacityParamValue3;
    }

    public void setPcbCapacityParamValue3(String pcbCapacityParamValue3) {
        this.pcbCapacityParamValue3 = pcbCapacityParamValue3;
    }

    public String getPcbCapacityParamValue4() {
        return pcbCapacityParamValue4;
    }

    public void setPcbCapacityParamValue4(String pcbCapacityParamValue4) {
        this.pcbCapacityParamValue4 = pcbCapacityParamValue4;
    }
}

